package com.sx.baseproject.framework.app

import android.content.res.Configuration
import android.content.res.Resources
import com.alibaba.android.arouter.launcher.ARouter
import com.example.mvvm.base.BaseApplication
import com.sx.baseproject.BuildConfig

/**
 * @Description
 * @Author 梁浩文
 * @Date 2021/6/25 12:04
 */
class MyApplication : BaseApplication() {
    override fun onCreate() {
        super.onCreate()
        if (BuildConfig.DEBUG) {
            // 这两行必须写在init之前，否则这些配置在init过程中将无效
            ARouter.openLog() // 打印日志
            ARouter.openDebug() // 开启调试模式(如果在InstantRun模式下运行，必须开启调试模式！线上版本需要关闭,否则有安全风险)}
        }
        ARouter.init(this)
    }

    override fun getResources(): Resources {
        val res = super.getResources()
        if (res.configuration.fontScale != 1.0f) { //非默认值
            val newConfig = Configuration()
            newConfig.fontScale = 1.0f
            res.updateConfiguration(newConfig, res.displayMetrics)
        }
        return res
    }

    override fun onConfigurationChanged(newConfig: Configuration) {
        if (newConfig.fontScale != 1f) //非默认值
            resources
        super.onConfigurationChanged(newConfig)
    }
}